package com.rose.doorto.footbathpay.config;

import com.alipay.api.CertAlipayRequest;
import com.alipay.easysdk.factory.Factory;
import com.alipay.easysdk.kernel.Config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * @Author 李庆超
 * @email 1481791489@qq.com
 * @Package：com.rose.doorto.footbathpay.config
 * @Project：door-to-door
 * @name：AlipayConfig
 * @date 2024/08/09 2024/8/9:14:47:
 */
@Component
@ConfigurationProperties(prefix = "alipayconfig")
@Data
public class AlipayConfig extends CertAlipayRequest {

    // 应用Id
    private String appId;
    // 应用私有
    private String appPrivateKey;
    // 支付宝公钥
    private String publiceKey;
    // 回调接口路径
    private String notifyUrl;
    private String serverUrl;
    private String privateKey;
    private String format;
    private String alipayPublicKey;
    private String charset;
    private String signType;


    @PostConstruct
    public void init(){
        Config config = new Config();
        // 基础配置
        config.protocol = "https";
        config.gatewayHost = "openapi-sandbox.dl.alipaydev.com";// 新版沙箱网关地址
        config.signType = "RSA2";

        // 业务配置
        config.appId = this.appId;
        config.merchantPrivateKey = this.appPrivateKey;
        config.alipayPublicKey = this.publiceKey;
        config.notifyUrl = this.notifyUrl;

        // 将配置信息， 添加到相应的工厂类
        Factory.setOptions(config);

        System.out.println("支付宝初始化配置完成");

    }


//    public void setServerUrl(String serverUrl) {
//        this.serverUrl = serverUrl;
//    }
//
//    public String getServerUrl() {
//        return serverUrl;
//    }
//
//    public void setPrivateKey(String privateKey) {
//        this.privateKey = privateKey;
//    }
//
//    public String getPrivateKey() {
//        return privateKey;
//    }
//
//    public void setFormat(String format) {
//        this.format = format;
//    }
//
//    public String getFormat() {
//        return format;
//    }
//
//    public void setAlipayPublicKey(String alipayPublicKey) {
//        this.alipayPublicKey = alipayPublicKey;
//    }
//
//    public String getAlipayPublicKey() {
//        return alipayPublicKey;
//    }
//
//    public void setCharset(String charset) {
//        this.charset = charset;
//    }
//
//    public String getCharset() {
//        return charset;
//    }
//
//    public void setSignType(String signType) {
//        this.signType = signType;
//    }
//
//    public String getSignType() {
//        return signType;
//    }
}
